package com.ruoyi.common.utils;

import java.io.File;
import java.util.Arrays;

public class ImageCleanerLa {

    public static void main(String[] args) {
        String rootDirectoryPath = "D:\\BaiduNetdiskDownload\\实物线稿\\实物-动漫\\Object_3k-line"; // 替换为你的根文件夹路径
        File rootDirectory = new File(rootDirectoryPath);

        if (rootDirectory.exists() && rootDirectory.isDirectory()) {
            cleanUpImages(rootDirectory);
        } else {
            System.out.println("Invalid directory.");
        }
    }

    public static void cleanUpImages(File directory) {
        // 获取当前目录下的所有文件和文件夹
        File[] files = directory.listFiles();

        if (files != null) {
            // 遍历每一个文件和文件夹
            for (File file : files) {
                if (file.isDirectory()) {
                    // 如果是文件夹，递归调用cleanUpImages
                    cleanUpImages(file);
                } else if (isImageFile(file)) {
                    // 如果是图片文件，检查图片名称
                    handleImage(file);
                }
            }
        }
    }

    // 判断文件是否是图片类型
    public static boolean isImageFile(File file) {
        String[] imageExtensions = {"jpg", "jpeg", "png", "gif", "bmp"};
        String fileName = file.getName().toLowerCase();
        return Arrays.stream(imageExtensions).anyMatch(fileName::endsWith);
    }

    // 处理文件夹中的图片，删除不包含 "la" 的图片
    public static void handleImage(File imageFile) {
        String fileName = imageFile.getName().toLowerCase();

        // 如果文件名中不包含 "la"，则删除该图片
        if (!fileName.contains("la")) {
            if (imageFile.delete()) {
                System.out.println("Deleted: " + imageFile.getName());
            } else {
                System.out.println("Failed to delete: " + imageFile.getName());
            }
        }
    }
}

